package com.tuanzhang.mall.seller.domain.aggregate;

import com.tuanzhang.mall.seller.domain.valueobj.CompanyInfo;
import com.tuanzhang.mall.seller.domain.valueobj.Email;
import com.tuanzhang.mall.seller.domain.valueobj.PhoneNumber;
import lombok.Getter;

/**
 * 类功能描述
 *
 * @author wangyl
 * @date 2025/6/13
 */
@Getter
public class Seller {

    private PhoneNumber sellerPhone;

    private CompanyInfo company;

    private String contactWechat;

    private Email contactEmail;

    private String businessMainImage;


    private Integer status;

    private Integer auditStatus;


    protected Seller(PhoneNumber sellerPhone,
                   CompanyInfo  company,
                   String contactWechat,
                   Email contactEmail,
                   String businessMainImage,
                   Integer status,
                   Integer auditStatus
    ) {
        this.sellerPhone = sellerPhone;
        this.company = company;
        this.contactWechat = contactWechat;
        this.contactEmail = contactEmail;
        this.businessMainImage = businessMainImage;
        this.status = status;
        this.auditStatus = auditStatus;
    }

    public static Seller createSeller(PhoneNumber  phone, CompanyInfo companyInfo, String contactWechat, Email contactEmail, String businessMainImage) {
        return new Seller(phone, companyInfo, contactWechat, contactEmail, businessMainImage, 1, 1);
    }
}
